Scale-free Geometry in Object-Oriented Programs
نویسندگان
چکیده
Object-oriented programs, when executed, produce a complex web of objects that can be thought of as a graph with objects as nodes and references as edges. In recent years interest has grown in the geometry of networks (or graphs), particularly those of human origin, many of which show a rather striking property: their structure is scale-free. In the case of the World Wide Web, for example, the number of web pages with 1 incoming link is about twice the number with 2 incoming links, and that is twice the number with 4 links, and so on all the way up to Google and other massively referenced sites [2]. The phrase ‘scale-free’ relates to the fact that if we double the number of links n, the number of pages is always halved (or other fixed ratio) regardless of what n is. Compare this to what happens if a graph is constructed by simply adding links at random [4]. Doing this leads to nearly all nodes having around the same number of links (i.e. the number of links divided by the number of nodes), and hence such random graphs have a ‘typical scale’ about them. By contrast, the web has no typical scale to its connectivity — a remarkable and somewhat counterintuitive property closely related to fractals. Other scale-free graphs include the network formed by co-authors of papers in medical journals, the physical connections forming the Internet, the network of airports connected by airline flights, networks of sexual contacts, and even the patterns of connectivity between neurons in the human brain [1]. Well before being noticed in real-world graph structures, scale-free distributions were found in other contexts, such as the relative frequencies of English words, the distribution of personal wealth, the sizes of cities, and the number of earthquakes of given strength [12]. In this article we examine the graphs formed by object-oriented programs written in a variety of languages, and show that these turn out to be scale-free networks as well. Apart from its considerable intrinsic interest, this unexpected facet of the geometry of real programs may help us optimize language runtime systems, improve the design of future object-oriented languages, and reexamine modern approaches to software design.
منابع مشابه
Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملObjects Identification in Object-Oriented Software Development - A Taxonomy and Survey on Techniques
Analysis and design of object oriented is onemodern paradigms for developing a system. In this paradigm, there are several objects and each object plays some specific roles. Identifying objects (and classes) is one of the most important steps in the object-oriented paradigm. This paper makes a literature review over techniques to identify objects and then presents six taxonomies for them. The f...
متن کاملOn Attributes of Objects in Object-Oriented Software Analysis
One of the modern paradigms to develop a system is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles. There is a sequence of activities to develop an analysis model. In the first step, we work in developing an initial use case model. Then in the second step, they identify a number of concepts and build a glossary of partic...
متن کاملComparison of Performance in Image Classification Algorithms of Satellite in Detection of Sarakhs Sandy zones
Extended abstract 1- Introduction Wind erosion as an “environmental threat” has caused serious problems in the world. Identifying and evaluating areas affected by wind erosion can be an important tool for managers and planners in the sustainable development of different areas. nowadays there are various methods in the world for zoning lands affected by wind erosion. One of the most important...
متن کاملModeling Object Oriented Constraint Programs in
Object oriented constraint programs (OOCPs) emerge as a leading evolution of constraint programming and artificial intelligence, first applied to a range of industrial applications called configuration problems. The rich variety of technical approaches to solving configuration problems (CLP(FD), CC(FD), DCSP, Terminological systems, constraint programs with set variables, . . . ) is a source of...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004